using System.Windows.Forms;
using DrawTools.Editor;

namespace DrawTools.Tools
{
  /// <summary>
  ///   Base class for all drawing tools
  /// </summary>
  public abstract class Tool
  {
    /// <summary>
    ///   Left nous button is pressed
    /// </summary>
    /// <param name="canvas"></param>
    /// <param name="e"></param>
    public virtual void OnMouseDown(IDrawingCanvas canvas, MouseEventArgs e) {}

    /// <summary>
    ///   Mouse is moved, left mouse button is pressed or none button is pressed
    /// </summary>
    /// <param name="canvas"></param>
    /// <param name="e"></param>
    public virtual void OnMouseMove(IDrawingCanvas canvas, MouseEventArgs e) {}

    /// <summary>
    ///   Left mouse button is released
    /// </summary>
    /// <param name="canvas"></param>
    /// <param name="e"></param>
    public virtual void OnMouseUp(IDrawingCanvas canvas, MouseEventArgs e) {}
  }
}